> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 自動的なスキーマ作成と移行のために、ClickHouse で SQL スタートアップスクリプトを設定および使用するためのガイド

# スタートアップスクリプト

ClickHouse では、起動時にサーバー設定から任意の SQL クエリを実行できます。これは、移行やスキーマの自動作成に役立ちます。

```xml theme={null}
<clickhouse>
    <startup_scripts>
        <throw_on_error>false</throw_on_error>
        <scripts>
            <query>CREATE ROLE OR REPLACE test_role</query>
        </scripts>
        <scripts>
            <query>CREATE TABLE TestTable (id UInt64) ENGINE=TinyLog</query>
            <condition>SELECT 1;</condition>
        </scripts>
        <scripts>
            <query>CREATE DICTIONARY test_dict (...) SOURCE(CLICKHOUSE(...))</query>
            <user>default</user>
        </scripts>
    </startup_scripts>
</clickhouse>
```

ClickHouse は、`startup_scripts` 内のすべてのクエリを、指定された順序で順番に実行します。いずれかのクエリが失敗しても、それ以降のクエリの実行は中断されません。ただし、`throw_on_error` が true に設定されている場合は、
スクリプトの実行中にエラーが発生するとサーバーは起動しません。

設定では条件付きクエリを指定できます。その場合、対応するクエリは、条件クエリが値 `1` または `true` を返した場合にのみ実行されます。

<Note>
  条件クエリが `1` または `true` 以外の値を返した場合、その結果は `false` と解釈され、対応するクエリは実行されません。
</Note>
