Créer et générer un nouveau projet
Nous allons utiliser le résultat du tutoriel mentionné au début comme modèle pour créer notre nouveau projet:
vapor new projectName --template=vaporberlin/my-first-controller --branch=vapor-2
Avant de générer un projet Xcode, nous devrions changer le nom du paquet dans 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: )
]
)
Maintenant dans le terminal au niveau du répertoire racine projectName/ exécuter:
vapor update -y
Cela peut prendre un peu de temps pour aller chercher la dépendance, mais une fois terminé vous devriez avoir une structure de projet comme celle-ci :
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/
Si vous maintenant cmd+r ou run nous devrions pouvoir accéder à la route /user 😊 !
Configurer votre projet pour utiliser PostgreSQL
Maintenant, tout ce dont nous avons besoin est un fichier de configuration qui contient nos informations de base de données. Créez un nouveau Dossier dans Config/ et nommez-le secrets/ afin que tous nos fichiers de configuration sensibles ne soient pas suivis par git.
Dans Config/secrets/, créez un fichier et nommez-le postgresql.json et insérez la configuration suivante :
{
"hostname": "127.0.0.1",
"user": "martinlasek", // use your own mac user
"password": "",
"database": "mycooldb",
"port": 5432
}
NOTE : Pour connaître votre utilisateur mac, exécutez ce qui suit dans le terminal : whoami
Puis nous allons indiquer à fluent d’utiliser postgresql comme pilote. Dans Config/fluent.json:
{
... "driver": "postgresql", ...
}
Enfin, nous ajouterons le PostgreSQLProvider dans 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)
}
}
Notre dernier cmd+r ou run et refresh de /user et c’est tout ! Vous avez configuré avec succès votre projet pour utiliser une base de données postgresql 🎉 🚀 🎉
.