只有驗證過的使用者可以新增項目到資料庫

本教程是Laravel手冊的一部分。從此處下載 。 現在,讓我們重新實現第一個項目,這次當未登錄時顯示狗的列表,但只允許已登錄的使用者修改數據。 首先,我們創建一個新的遷移: php artisan make:migration create_dogs_table 打開新創建的遷移文件,在我這裡是 database/migrations/2023_05_12_164831_create_dogs_table.php <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. */ public function up(): void { Schema::create('dogs', function (Blueprint $table) { $table->id(); $table->timestamps(); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('dogs'); } }; 我們只需稍微修改遷移,添加了狗的名稱: Schema::create('dogs', function (Blueprint $table) { $table->id(); $table->string('name'); $table->timestamps(); }); 保存文件,返回終端,運行 php artisan migrate...

如何使用 Firebase Firestore 作為你的資料庫

一個設置 Firestore 作為資料庫的教程,這是一個非常方便的解決方案,可以解決你的儲存問題! 我有一個需求,需要為我的 成員俱樂部 創建一個儲存數據的地方,這是我教授編程的地方。 我希望我的用戶可以通過點擊一個按鈕來手動說“我完成了這個課程”。 基本上,我想為每個用戶存儲一個特定的對象。 設置 Firebase 我決定使用 Firebase 以及他們提供的 Firestore 資料庫 來實現這個需求。 它的免費版本是很慷慨的,每個月最多可以存儲 1GB 的數據,並且網絡傳輸量可以達到 10GB,這遠超出了我的預期。 在 Firebase 網站上打開 https://firebase.google.com/ Firebase 是一個由 Google 提供的產品,所以一旦你登錄到 Google,你也就登錄到 Firebase。 通過點擊“創建專案”來創建一個新的 Firebase 專案。 給它一個名字: 然後就完成了: 我點擊了 iOS 和 Android 旁邊的“Web”圖標,然後輸入了應用程序名稱: Firebase 立即給了我需要的訪問密鑰,還附帶了一些示例代碼: 在這之後,Firebase 讓我添加一些數據庫的安全規則。 你可以選擇兩個默認選項:對每個人開放,或對每個人關閉。我選擇了對每個人開放,這是他們稱之為 測試模式。 就是這樣!我準備好了,可以創建一個集合了。 什麼是集合?在 Firestore 的術語中,我們可以創建許多不同的集合,並為每個集合分配文檔。 然後,文檔可以包含字段和其他集合。 這和其他 NoSQL 數據庫(比如 MongoDB)沒有太大區別。 我強烈建議觀看這個主題的 YouTube 播放列表,非常棒。 所以,我添加了一個我稱之為 users 的集合。 我希望使用一個特殊的字符串 id 來識別每個用戶。 前端代碼 現在我們進入 JavaScript 部分。 在頁腳中,我包含了 Firebase 提供的這兩個文件:...

如何使用Sequelize與PostgreSQL進行互動

在使用資料庫時,您可以選擇使用資料庫提供的基本功能,或使用一個建立在其之上並為您抽象出細節的函式庫。 Sequelize就是其中之一,它是一個非常受歡迎的Node.js封裝器,可用於PostgreSQL、MySQL和其他資料庫。 在本文中,我將探討如何使用Sequelize來處理PostgreSQL資料庫。 安裝並設定Sequelize 在內部,Sequelize使用pg函式庫與PostgreSQL建立連接,所以當我們安裝sequelize npm套件時,我們還需要安裝pg: npm install pg sequelize 提示:如果你的專案是全新的且沒有package.json文件,請不要忘記首先執行npm init -y。 在您的Node.js文件中,您首先定義資料庫存取變數: const user = '<postgres用戶名>' const host = 'localhost' const database = '<postgres資料庫名>' const password = '<postgres密碼>' const port = '<postgres埠號>' 然後從sequelize進行三個物件的導入: import { Sequelize, Model, DataTypes } from 'sequelize' 然後,您可以使用以下語法初始化一個新的Sequelize物件實例: const sequelize = new Sequelize(database, user, password, { host, port, dialect: 'postgres', logging: false }) 我們告訴Sequelize這是什麼類型的資料庫,可以在dialect屬性中指定(如前所述,它可以處理不只是Postgres)。 我們還禁用了日誌記錄,因為它會記錄所有SQL查詢,這可能會很冗長,且我們實際上並不需要查看它們(除非您正在調試問題)。 如何創建一個Sequelize模型 對於要使用Sequelize操作的每個資料表,您都需要創建一個模型。 以下是一個示例,假設我們有一個具有“name”和“age”兩列的dogs資料表。 我們創建一個Dog類,並將其擴展Model基類: import { Sequelize, Model, DataTypes } from 'sequelize' const class Dog extends Model {} 然後在類上調用init()靜態方法,描述資料和我們要應用的規則。在此示例中,我們禁用了null:...

如何使用遷移來創建和修改資料庫架構

本教程是 Laravel 手冊的一部分。您可以從 https://flaviocopes.com/access/ 下載。 遷移非常適合處理資料庫的變更,這樣您就可以應用這些變更,並在需要恢復到先前狀態時回滾數據。 從終端機中停止 Laravel 伺服器,然後運行以下命令來創建一個新的遷移,我們將使用它來創建我們需要使用的資料庫表: php artisan make:migration initial_table_creation 此命令在 database/migrations 資料夾中創建了 2023_05_11_080724_initial_table_creation.php 文件(日期和時間對於您而言會有所變化)。 注意,還有其他由 Laravel 框架自身添加的遷移,用於驗證系統。 但是,我們專注於創建一個新的表,讓我們將其稱為 dogs。 進入我們剛剛建立的遷移的 up() 函數。 讓我們創建一個 dogs 表,包含 3 列,一個 id、一個 name 字符串,以及時間戳工具列(created_at 和 updated_at),我們將在後面看到。 Schema::create('dogs', function (Blueprint $table) { $table->id(); $table->string('name'); $table->timestamps(); }); 現在從終端機運行以下命令: php artisan migrate Laravel 將應用尚未應用的遷移,這在此時指的是您在 migrations 資料夾中看到的所有遷移: 如果您使用類似 TablePlus(免費版本,支持所有操作系統)的數據庫可視化工具打開 database/database.sqlite 文件,您將看到新創建的表,包括我們定義的表: 如果您在遷移中犯了錯誤,您可以使用以下命令回滾遷移中的任何更改: php artisan migrate:rollback 這將回滾您對數據庫做出的最新更改。 有關遷移的更多信息,請參閱官方遷移指南。

如何在 macOS 上安裝 PostgreSQL

安裝 PostgreSQL 資料庫管理系統的步驟指南 下面的指示是基於 macOS 安裝 PostgreSQL 的方式。 對於 Windows 和 Linux 使用者,請前往 https://www.postgresql.org/download/ 選擇適合的套件。 如果你使用其他平台,請搜尋「如何在 Windows 安裝 PostgreSQL」或「如何在 你的 Linux 發行版 安裝 PostgreSQL」。這些步驟不會有太大差異,尤其是在安裝階段之後。 在 macOS 上,我們會使用 Homebrew。如果你尚未安裝 Homebrew,請前往 https://brew.sh/ 並按照指示進行安裝。 完成後,返回終端機並執行以下命令: brew install postgresql 當安裝完成後,執行以下命令: brew services start postgresql 這將把 PostgreSQL 開啟作為背景服務聆聽連線。 使用 Homebrew 的好處是可以使用以下命令進行更新 brew upgrade postgresql brew postgresql-upgrade-database brew services restart postgresql postgresql 是 PostgreSQL 較難發音的名稱,但其實它們是同一個東西,只是在名稱中嵌入了 SQL。SQL 是什麼?SQL(發音為“sequel”)是結構化查詢語言(Structured Query Language)的簡稱,它是一種我們用於與關聯式資料庫進行互動的特殊語言。 如果你對資料庫是新手,這些術語可能讓你有點困惑!基本上,關聯式資料庫將資料組織到資料表中,並提供一種從這些資料表中插入和提取資料的方法。這就是 SQL。 驗證完 PostgresSQL 的登入設定後 返回終端機,輸入: psql postgres 這將給你進入 postgres 資料庫的權限,預設該資料庫與你的 macOS 使用者名稱相同。Homebrew 在安裝時會自動建立你的使用者。...

如何在PostgreSQL中切換數據庫

這篇文章將快速解釋如何在psql工具中切換數據庫。 在psql中,你總是有一個活動的數據庫,你可以“進入”其中。默認情況下,這是你最初連接的數據庫。當你運行以下命令時: psql postgres 你將連接到postgres數據庫。 要切換數據庫,使用\connect命令,或者簡寫為\c: PostgreSQL將關閉你之前連接的數據庫的連接,並連接到你指定的新數據庫。

如何從 Node.js 使用 Redis

在 Node.js 應用程式中,使用 Redis 伺服器最受歡迎的庫之一是 node-redis,它可以在 https://github.com/NodeRedis/node-redis 找到。 在您的專案中安裝該庫: npm install redis 提示:如果專案是全新的並且還沒有 package.json 檔案,請先執行 npm init -y。 連接到 Redis 實例 安裝完庫之後,使用以下程式碼在您的專案中引入它: const redis = require('redis') 或者 import redis from 'redis' 獲取 redis 物件之後,使用以下程式碼創建一個新的客戶端: const client = redis.createClient({ url: 'redis://YOUR REDIS INSTANCE URL' }) 然後使用以下程式碼連接到 Redis(在 async 函數中執行): await client.connect() 當您獲得了客戶端之後,就可以執行 Redis 可以做的所有操作。 要關閉連接,請調用: client.quit() 存儲和檢索鍵值 使用 set() 將鍵值對存儲到 Redis 中: client.set("<key>", "<value>") 例如: client.set("name", "Flavio") client.set("age", 37) 如果在乾淨的 Redis 伺服器上運行 redis-cli 中的 KEYS * 命令,您將看到這兩個鍵:...

應用程式總是需要一個資料庫嗎?

關於資料庫需求的一些想法。也許你需要它,也許不需要。 應用程式總是需要一個資料庫嗎?當然不是。 就像科技中的一切一樣,在每個情況下都沒有一個理想的解決方案。 電腦提供了許多不同的資料儲存方式。最明顯的替代方案是檔案。 一個常見的例子是內容管理系統(CMS)。有些CMS使用資料庫來儲存資料(比如WordPress),有些則更偏好使用檔案來儲存資料(比如Grav或Statamic)。 在這種情況下不使用資料庫意味著更簡單的部署到一個虛擬主機服務上。 但是當處理大量資料時,資料庫絕對是簡化長期生活的好方法。 如果您正在開發一個macOS或iOS應用程式,您可能會決定只需要一個JSON或Plist檔案來處理資料,因為使用者不需要儲存大量資料。 或者可能Core Data(內部SQLite資料庫的封裝)對您來說是最適合的選擇。 總之,它始終是復雜性與便利性的平衡。