Tworzenie i generowanie nowego projektu
Użyjemy wyniku wspomnianego na początku tutoriala jako szablonu do stworzenia naszego nowego projektu:
vapor new projectName --template=vaporberlin/my-first-controller --branch=vapor-2
Przed wygenerowaniem projektu w Xcode musielibyśmy zmienić nazwę pakietu w ramach Package.swift:
// swift-tools-version:4.0import PackageDescriptionlet package = Package(
name: "projectName", // changed
products: ),
.executable(name: "Run", targets: )
],dependencies: ,targets: ,
exclude: ),.target(name: "Run", dependencies: ),
.testTarget(name: "AppTests", dependencies: )
]
)
Teraz w terminalu w katalogu głównym projectName/ execute:
vapor update -y
Może trochę potrwać pobieranie zależności, ale po zakończeniu powinieneś mieć strukturę projektu jak poniżej:
projectName/
├── Package.swift
├── Sources/
│ ├── App/
│ │ ├── Controllers/
│ │ │ └── UserController.swift
│ │ ├── Models/
│ │ │ └── User.swift
│ │ ├── Routes/
│ │ │ └── Routes.swift
│ │ └── Setup/
│ │ ├── Config+Setup.swift
│ │ └── Droplet+Setup.swift
│ └── Run/
├── Tests/
├── Config/
├── Resources/
├── Public/
├── Dependencies/
└── Products/
Jeśli teraz cmd+r lub run powinniśmy być w stanie uzyskać dostęp do trasy /user 😊!
Skonfiguruj swój projekt do korzystania z PostgreSQL
Teraz wszystko czego potrzebujemy to plik konfiguracyjny, który przechowuje informacje o naszej bazie danych. Utwórz nowy folder w ramach Config/ i nazwij go secrets/, aby wszystkie nasze poufne pliki konfiguracyjne nie były śledzone przez git.
W ramach Config/secrets/ utwórz plik i nazwij go postgresql.json i wstaw następującą konfigurację:
{
"hostname": "127.0.0.1",
"user": "martinlasek", // use your own mac user
"password": "",
"database": "mycooldb",
"port": 5432
}
UWAGA: Aby poznać swojego użytkownika mac wykonaj następujące polecenie w terminalu: whoami
Następnie powiemy Fluentowi aby używał postgresql jako sterownika. W Config/fluent.json:
{
... "driver": "postgresql", ...
}
Na koniec dodamy PostgreSQLProvider w Setup/Config+Setup.swift:
import LeafProvider
import FluentProvider
import PostgreSQLProvider // addedextension Config {
public func setup() throws {
try setupProviders()
try setupPreparations()
} private func setupProviders() throws {
try addProvider(LeafProvider.Provider.self)
try addProvider(FluentProvider.Provider.self)
try addProvider(PostgreSQLProvider.Provider.self) // added
} private func setupPreparations() throws {
preparations.append(User.self)
}
}
Na koniec cmd+r lub uruchom i odśwież /user i to wszystko! Pomyślnie skonfigurowałeś swój projekt do korzystania z bazy danych postgresql 🎉 🚀 🎉