Maak en genereer een nieuw project
We zullen het resultaat van de tutorial die in het begin is genoemd gebruiken als sjabloon om ons nieuwe project te maken:
vapor new projectName --template=vaporberlin/my-first-controller --branch=vapor-2
Voordat we een Xcode project genereren moeten we de package naam veranderen binnen 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: )
]
)
Nu in de terminal in de hoofddirectory projectName/ uitvoeren:
vapor update -y
Het kan even duren om de afhankelijkheid op te halen, maar als je klaar bent zou je een projectstructuur als deze moeten hebben:
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/
Als je nu cmd+r of run gebruikt, zouden we de /user route moeten kunnen benaderen 😊!
Configureer uw project om PostgreSQL te gebruiken
Nu hebben we alleen nog een configuratiebestand nodig dat onze database-informatie bevat. Maak een nieuwe map aan binnen Config/ en noem deze secrets/ zodat al onze gevoelige configuratiebestanden niet door git worden gevolgd.
In Config/secrets/ maak een bestand aan en noem het postgresql.json en voeg de volgende configuratie in:
{
"hostname": "127.0.0.1",
"user": "martinlasek", // use your own mac user
"password": "",
"database": "mycooldb",
"port": 5432
}
NOTE: Om uw mac gebruiker te achterhalen voert u het volgende uit in terminal: whoami
Dan zullen we fluent vertellen om postgresql als een driver te gebruiken. In Config/fluent.json:
{
... "driver": "postgresql", ...
}
Als laatste voegen we de PostgreSQLProvider toe in 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)
}
}
Onze laatste cmd+r of run en refresh van /user en dat is het! U heeft met succes uw project geconfigureerd om een postgresql database te gebruiken 🎉 🚀 🎉