Creare e generare un nuovo progetto
Utilizzeremo il risultato del tutorial menzionato all’inizio come modello per creare il nostro nuovo progetto:
vapor new projectName --template=vaporberlin/my-first-controller --branch=vapor-2
Prima di generare un progetto Xcode dovremmo cambiare il nome del pacchetto in 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: )
]
)
Ora nel terminale nella directory principale projectName/ esegui:
vapor update -y
Potrebbe volerci un po’ per recuperare la dipendenza, ma al termine dovresti avere una struttura di progetto come questa:
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/
Se ora cmd+r o run dovremmo essere in grado di accedere al percorso /user 😊!
Configura il tuo progetto per utilizzare PostgreSQL
Ora tutto ciò di cui abbiamo bisogno è un file di configurazione che contenga le informazioni del nostro database. Creare una nuova cartella all’interno di Config/ e chiamarla secrets/ così tutti i nostri file di configurazione sensibili non saranno tracciati da git.
In Config/secrets/ creare un file e chiamarlo postgresql.json e inserite la seguente configurazione:
{
"hostname": "127.0.0.1",
"user": "martinlasek", // use your own mac user
"password": "",
"database": "mycooldb",
"port": 5432
}
NOTA: Per scoprire il vostro utente mac eseguite nel terminale: whoami
Poi diremo a fluent di usare postgresql come driver. In Config/fluent.json:
{
... "driver": "postgresql", ...
}
Infine aggiungeremo il PostgreSQLProvider all’interno di 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)
}
}
Il nostro ultimo cmd+r o run e refresh di /user ed ecco fatto! Hai configurato con successo il tuo progetto per utilizzare un database postgresql 🎉 🚀 🎉