소스 검색

Extract multiline sql statement into separate file

Nick Babcock 6 년 전
부모
커밋
2c5d42b18f
3개의 변경된 파일5개의 추가작업 그리고 17개의 파일을 삭제
  1. 1 0
      OhmGraphite/FodyWeavers.xml
  2. 2 0
      OhmGraphite/OhmGraphite.csproj
  3. 2 17
      OhmGraphite/TimescaleWriter.cs

+ 1 - 0
OhmGraphite/FodyWeavers.xml

@@ -1,4 +1,5 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <Weavers>
   <Costura />
+  <Resourcer/>
 </Weavers>

+ 2 - 0
OhmGraphite/OhmGraphite.csproj

@@ -24,6 +24,7 @@
     <Content Include="NLog.config">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
+    <EmbeddedResource Include="..\assets\schema.sql" />
   </ItemGroup>
 
   <ItemGroup>
@@ -31,6 +32,7 @@
     <PackageReference Include="NLog.Config" Version="4.5.10" />
     <PackageReference Include="Npgsql" Version="4.0.3" />
     <PackageReference Include="prometheus-net" Version="2.1.3" />
+    <PackageReference Include="Resourcer.Fody" Version="1.7.3" />
     <PackageReference Include="TopShelf" Version="4.1.0" />
     <PackageReference Include="Topshelf.NLog" Version="4.1.0" />
     <PackageReference Include="InfluxDB.LineProtocol" Version="1.1.0" />

+ 2 - 17
OhmGraphite/TimescaleWriter.cs

@@ -40,23 +40,8 @@ namespace OhmGraphite
 
                     if (_setupTable)
                     {
-                        using (var cmd = new NpgsqlCommand(
-                            "CREATE TABLE IF NOT EXISTS ohm_stats (" +
-                            "   time TIMESTAMPTZ NOT NULL," +
-                            "   host TEXT," +
-                            "   hardware TEXT," +
-                            "   hardware_type TEXT," +
-                            "   identifier TEXT," +
-                            "   sensor TEXT," +
-                            "   sensor_type TEXT," +
-                            "   sensor_index INT," +
-                            "   value REAL" +
-                            ");" +
-                            "" +
-                            @"SELECT create_hypertable('ohm_stats', 'time', if_not_exists => TRUE);" +
-                            "CREATE INDEX IF NOT EXISTS idx_ohm_host ON ohm_stats (host);" +
-                            "CREATE INDEX IF NOT EXISTS idx_ohm_identifier ON ohm_stats (identifier);",
-                            _conn))
+                        var setupSql = Resourcer.Resource.AsString("schema.sql");
+                        using (var cmd = new NpgsqlCommand(setupSql, _conn))
                         {
                             await cmd.ExecuteNonQueryAsync();
                         }