{
  "title": "A First Look at PostGraphile with Railway",
  "slug": "first-look-postgraphile-with-railway",
  "collection": "blog",
  "contentType": "Blog post",
  "description": "PostGraphile builds a GraphQL API from a PostgreSQL schema that automatically detects information such as tables, columns, indexes, and relationships",
  "summary": "PostGraphile builds a GraphQL API from a PostgreSQL schema that automatically detects information such as tables, columns, indexes, and relationships",
  "author": {
    "name": "Anthony Campolo"
  },
  "source": {
    "originalUrl": "https://ajcwebdev.com/first-look-postgraphile-with-railway/"
  },
  "publishedAt": "2021-07-17T00:00:00.000Z",
  "updatedAt": null,
  "freshness": {
    "label": "Published",
    "value": "2021-07-17T00:00:00.000Z"
  },
  "urls": {
    "html": "https://ajcwebdev.com/first-look-postgraphile-with-railway/",
    "markdown": "https://ajcwebdev.com/first-look-postgraphile-with-railway/index.md",
    "json": "https://ajcwebdev.com/first-look-postgraphile-with-railway/index.json"
  },
  "headings": [
    {
      "depth": 2,
      "id": "introduction",
      "text": "Introduction"
    },
    {
      "depth": 2,
      "id": "provision-a-postgresql-database-with-railway",
      "text": "Provision a PostgreSQL database with Railway"
    },
    {
      "depth": 3,
      "id": "railway-dashboard",
      "text": "Railway Dashboard"
    },
    {
      "depth": 3,
      "id": "railway-cli",
      "text": "Railway CLI"
    },
    {
      "depth": 3,
      "id": "check-railway-cli-version",
      "text": "Check Railway CLI version"
    },
    {
      "depth": 3,
      "id": "login-with-railway-login",
      "text": "Login with railway login"
    },
    {
      "depth": 3,
      "id": "initialize-project-with-railway-init",
      "text": "Initialize project with railway init"
    },
    {
      "depth": 3,
      "id": "provision-postgresql-with-railway-add",
      "text": "Provision PostgreSQL with railway add"
    },
    {
      "depth": 3,
      "id": "connect-to-database",
      "text": "Connect to database"
    },
    {
      "depth": 3,
      "id": "seed-database",
      "text": "Seed database"
    },
    {
      "depth": 3,
      "id": "list-tables-in-database",
      "text": "List tables in database"
    },
    {
      "depth": 3,
      "id": "describe-table",
      "text": "Describe table"
    },
    {
      "depth": 3,
      "id": "quit-psql",
      "text": "Quit psql"
    },
    {
      "depth": 3,
      "id": "copy-database-connection-string-to-clipboard",
      "text": "Copy database connection string to clipboard"
    },
    {
      "depth": 2,
      "id": "introspect-database-with-postgraphile",
      "text": "Introspect Database with PostGraphile"
    },
    {
      "depth": 3,
      "id": "introspect-railway-database",
      "text": "Introspect Railway Database"
    },
    {
      "depth": 3,
      "id": "test-the-endpoint",
      "text": "Test the endpoint"
    },
    {
      "depth": 3,
      "id": "connect-to-endpoint-with-ngrok",
      "text": "Connect to endpoint with ngrok"
    }
  ],
  "tags": [
    "backend",
    "graphql",
    "deployment"
  ],
  "discovery": {
    "apiIndex": "https://ajcwebdev.com/api/index.json",
    "llmsTxt": "https://ajcwebdev.com/llms.txt",
    "llmsFullTxt": "https://ajcwebdev.com/llms-full.txt",
    "sitemapMd": "https://ajcwebdev.com/sitemap.md",
    "sitemapXml": "https://ajcwebdev.com/sitemap.xml"
  },
  "nextActions": [
    {
      "action": "open_html",
      "url": "https://ajcwebdev.com/first-look-postgraphile-with-railway/",
      "method": "GET",
      "accept": "text/html"
    },
    {
      "action": "get_markdown_twin",
      "url": "https://ajcwebdev.com/first-look-postgraphile-with-railway/index.md",
      "method": "GET",
      "accept": "text/markdown"
    },
    {
      "action": "get_json_twin",
      "url": "https://ajcwebdev.com/first-look-postgraphile-with-railway/index.json",
      "method": "GET",
      "accept": "application/json"
    }
  ]
}